Computer users often use more than one computer during the day, inputting and changing information on many different computing machines. To provide to the user the most recent data, a synchronization is required between each of the machines on which the user has changed or added data. Synchronization involves a comparison of the files resident on one machine to the files resident on another. If the file only exists on one machine, then it is copied to the other. If both contain the file, then the most recent version will be copied from one machine to the other. In such a manner both machines will ultimately contain the same files, and the files contained on each machine will reflect the user's latest edits. If the more than two machines need to be synchronized, multiple synchronizations may be required.
Because of the nature of most synchronization software, multiple copies of the same file may be created. The files, containing insignificant variations, are not exactly the same, and may therefore be treated as two separate files by the synchronization software. The synchronization software will therefore copy each to the other machine, instead of comparing the two and copying only the most recent version. As a result, instead of having only the latest version, the user finds all of the previous versions available as well. This is a waste of computer resources, and can result in user confusion.
The problem is compounded when the files may be created and edited by someone other than the user. For example, if the user is using an information management program, such as Microsoft® OUTLOOK from Microsoft Corporation, multiple copies of identical files may be created, not only by the synchronization process between the user's machines, but also by the messages sent by others through an email system. For example, a user may receive an email message with an attached file. The same email message may then get forwarded to the user from a different colleague. Finally, the user may update the file attached to the message on a handheld computer and then synchronize it to the desktop computer. The user now has potentially three copies of the same message, and yet needs only one. However, because the messages are not strictly identical, the synchronization program will not recognize that they are the same file, and will copy each file to every machine. The user will therefore find three copies of the same message on both their handheld and desktop computers.